home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / btrieve / bj516.exe / BUGS.516 < prev    next >
Text File  |  1992-07-14  |  11KB  |  262 lines

  1.  
  2.  
  3. 1. NLM Btrieve: BTRIEVE.NLM, version 5.16
  4.  
  5.         Unlocking any record (either with the Unlock operation or 
  6.         implicitly with Reset, Close, etc) will cause Btrieve to 
  7.         incorrectly release locks on any other records in that file
  8.         which were locked more recently.
  9.  
  10. 2. NLM Btrieve: BTRIEVE.NLM, version 5.16
  11.  
  12.      This fixes a bug which allowed a Drop_Supplemental_Index call to procede
  13.      on a file which was locked in a transaction by another user, disrupting
  14.      that user's transaction.  Like DOS, it now returns FileInUse, error# 85.
  15.  
  16. 3. NLM Btrieve: BTRIEVE.NLM, version 5.16 
  17.  
  18.      When the 'create supplemental index' operation returned a non-zero 
  19.      status the server hung up. This was caused by a failure of the 
  20.      'drop supplemental index' algorithm. 
  21.  
  22. 4. NLM Btrieve: BTRIEVE.NLM, version 5.16 
  23.  
  24.      'Create supplemental index' doesn't skip records with null-value keys
  25.      though the manual key flag has been set in the key-description file.
  26.      The condition to determine if checking_for_null-key_values is necessary
  27.      or not was faulty.
  28.  
  29. 5. NLM Btrieve: BTRIEVE.NLM, version 5.16
  30.  
  31.       Free Space Threshold feature didn't work properly. The NLM started
  32.       a new page for variable parts of records before there is less than
  33.       the specified free space threshold amount of space left on the page.
  34.       This patch corrects the calculating of the amount of free space
  35.       threshold.
  36.  
  37.  
  38. 7. NLM Btrieve: BTRIEVE.NLM, version 5.16
  39.  
  40.       If, while many users are updating, inserting, or deleting in a file,
  41.       another user opens the file, there is a small timing window during
  42.       which the file can become corrupted.  Status 2's and 15's are 
  43.       typically returned.
  44.  
  45. 8. NLM Btrieve: BTRIEVE.NLM, version 5.16
  46.  
  47.       A GET_KEY(+50) operation should be faster than GET_NEXT/GET_PREV 
  48.       because it only retrieves the key instead of the record. This patch 
  49.       improves the performance of the GET_KEY(+50) operations.
  50.  
  51. 9. NLM Btrieve: BTRIEVE.NLM, version 5.16
  52.  
  53.       A Customer has sent in a corrupted file which when he does a get 
  54.       greater or equal on a particular key value will abend the server.
  55.       This patch tests those special and rare circumstances that allow the 
  56.       server hanging up.
  57.  
  58. 10. NLM Btrieve: BTRIEVE.NLM, version 5.16
  59.  
  60.       When an extended operation following a key-only operation returns a 
  61.       status 9 the data buffer will not have changed or it will contain 
  62.       garbage.
  63.       This patch completes the handling of extended operations after
  64.       key-only operations.
  65.  
  66. 11.   NLM Btrieve: BTRIEVE.NLM, version 5.15
  67.  
  68.       When a VERY large preimage file is produced, as in a large transaction,
  69.       a value greater than 32k is mistakenly treated as signed and is
  70.       sign-extended with FFs.  This is later interpreted as a VERY large
  71.       unsigned value when passed to the operating system, causing a GPI.
  72.       This patch makes the conversion WITHOUT sign-extension.
  73.  
  74. 12.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  75.  
  76.       Erratic Btrieve errors, including even a GPI, could sometimes be caused
  77.       by the following scenario:  If a file is opened to a single read-only
  78.       handle, AND that handle is in the process of closing, AND a request is
  79.       received to open another handle in read-write mode at just the right
  80.       time, a timing window can allow the file's table entry to be deleted,
  81.       leaving the new handle an "orphan".  This patch eliminates the window.
  82.  
  83. 13.   RECALLED.
  84.  
  85. 14.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  86.  
  87.       The correct position could not be reached when doing a get next (op.6)
  88.       or get previous (op.7) operation following a delete (op.4) operation 
  89.       on a file which has a supplemental index with duplicates values.
  90.  
  91. 15.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  92.  
  93.       Sometimes the transaction file of Btrieve was not open with
  94.       transactional flag, sometimes it was not deleted when unloading
  95.       Btrieve.nlm.
  96.  
  97. 16.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  98.  
  99.       If the file opened in normal mode is used inside a transaction,
  100.       then another workstation can not open this file as READ_ONLY in a
  101.       transaction. Open returns status 85. This patch lets the open op.
  102.       be done successfully.
  103.  
  104. 17.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  105.  
  106.       If the file opened in accelerated mode returns status 5 during an
  107.       update the file might become corrupted without any spectacular 
  108.       symptom of the corruption. (In the reported case a key was lost
  109.       from the Btree.) 
  110.  
  111. 18.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  112.  
  113.       The following bugs have been fixed regarding GET_DIRECT operation:
  114.        - GET_DIRECT after deletion of the record by another station gives 
  115.          status 2.
  116.        - GET_NEXT after GET_DIRECT returns status 9, if the file contains
  117.          records with duplicate values.
  118.        - Sometimes the returned status code by GET_DIRECT following a 
  119.          DELETE operation are different.
  120.        - In certain cases after deletion of the last record GET_DIRECT
  121.          does not report an error status on the just deleted record.
  122.  
  123. 19.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  124.   
  125.       In some special scenario there was a slight chance to get status 2 
  126.       (I/O error) or to loose a key from the tree when doing a delete (op.4)
  127.       operation. Using this patch the corruption of the file can be prevented.
  128.  
  129. 21.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  130.  
  131.       This bug caused Btrieve not to enforce the upper limit of 24 key 
  132.       segments for files with page sizes greater than 1536 bytes.  
  133.       Files with more than 24 key segments may not be processed correctly
  134.       in some cases.
  135.         
  136. 22.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  137.  
  138.       Reading or Updating a corrupted file sent by a customer abbended the
  139.       server. This patch returns status 19 in that cases.
  140.  
  141. 23.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  142.  
  143.       When a file, that needs recovery from the preimage file and has 
  144.       a page size greater than 1024, is being opened status 52 could happen 
  145.       if another file has already been open. This patch fixes the problem.
  146.       In addition a new logic added that helps to control the size of the 
  147.       preimage file. 
  148.  
  149. 24.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  150.  
  151.       On a key-only file if an autoincrement field does not begin at the
  152.       first byte, the second insert with binary zero value in that field
  153.       does not work. Status 5 (Duplicate Key) is given back by Btrieve.
  154.       This patch solves that problem.
  155.  
  156. 25.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  157.  
  158.       After adding two supplemental indexes and removing one of them 
  159.       the other one can no longer be accessed. This patch fixes the problem.
  160.  
  161. 26.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  162.  
  163.       A GetNextExtended (op.36) following a GreaterThanOrEqual with keyOnly
  164.       bias (op.59) caused a status 19. This patch fixes the problem and 
  165.       gives the expected result.
  166.  
  167. 27.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  168.  
  169.       If you set up an extended step/get operation (op.36/37/38/39) to only 
  170.       return record positions (NumOfFields = 0) and not any of the record 
  171.       data it will not work. You will get a status 62.
  172.       This patch fixes the problem and returns the record positions. 
  173.  
  174. 28.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  175.  
  176.       If a work station tries to Update or Delete a record which a second
  177.       work station has changed since the first work station read that record,
  178.       a status 80 is returned to indicate a conflict.  However, Btrieve was
  179.       incorrectly allowing the conflict condition to be cleared after that 
  180.       first work station did any of the following operations: Stat, Unlock,
  181.       Set Owner, Clear Owner, Create Index, or Drop Index.  This patch fixes
  182.       the problem; the first work station will have to reread the record 
  183.       before changing it.
  184.  
  185. 29.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  186.  
  187.       When the Netware TTS, working on disk I/Os detects a hardware error it 
  188.       dismounts the volume. Sometimes Btrieve did not realize this fact and
  189.       as a result, it hangs up the server. This patch prevents the abend.
  190.  
  191. 30.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  192.  
  193.       This bug pertains only to Zstring and Lstring keys which are flagged
  194.       with the NULL or MANUAL attribute.  If an application updates a 
  195.       record and changes the key from NULL to non-NULL (or vice versa) by 
  196.       changing bytes beyond the end of the Zstring/Lstring from the null 
  197.       character to any other character (or vice versa), the index is not
  198.       updated to reflect the change in the key.
  199.  
  200. 31.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  201.  
  202.       This patch fixes a bug reported by one of our customers.  Under
  203.       VERY heavy use, with many Opens and Closes on the same file by 
  204.       several different threads, a thread might get into an infinite 
  205.       loop and never return.  
  206.  
  207. 32.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  208.  
  209.       Fixes the following problem introduced by patch 20:  When two 
  210.       clients are pointing at the same record in a file and one of them
  211.       does an Update which changes its key,  the second client will get
  212.       an unpredictable, out of sequence record on his next GetNext or 
  213.       GetPrevious.
  214.  
  215. 33.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  216.  
  217.       Get Greater Than(8) or Get Less Than(10) operations do not work 
  218.       correctly in case of key-only files if the key value specified for 
  219.       the operation exists in the file. (It might return a wrong record 
  220.       or status 9 or status 19 incorrectly, or it might even cause the server 
  221.       to hang, depending on the file and the key value involved.)
  222.  
  223. 34.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  224.  
  225.       A GET_DIRECT could return a status 43 right after a successful
  226.       GET_POSITION, even though no other workstation deleted the 
  227.       record. It happened when the EOF had been reached by using STEP or
  228.       STEP_EXTENDED operations. 
  229.       In addition, the logical and physical position information were not set 
  230.       properly on an EXTENDED_INSERT when one of the inserts failed because of
  231.       duplicate keys. 
  232.       This patch corrects the position information in both cases.
  233.  
  234. 35.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  235.  
  236.       Specifying a log file on a different volume from the data file to be
  237.       logged did not work.  No error status was returned, it simply didn't 
  238.       work. This patch corrects file name parsing to allow the log file 
  239.       to be located on any other volume of the SAME server.
  240.  
  241. 36.   NLM Btrieve: BTRIEVE.NLM, version 5.16b only!!!
  242.       Not to be released with v5.16!!!
  243.  
  244.  
  245. 37.   Btrieve NLM 5.16
  246.       All patches are applied to BTRIEVE.NLM and
  247.       File is flagged TTS  ==> an update following
  248.       a GetEQ returns with status 7.
  249.       This patch fixes a minor bug introduced by patch 23, (wich is
  250.       a fairly complex one). Therefore, they *must* go together.
  251.  
  252. 38.   NLM Btrieve: BTRIEVE.NLM, version 5.16
  253.  
  254.        A bug in CLIB's fdopen() API was causing Btrieve's logging feature
  255.        to be disabled on some servers.  This patch uses fopen() instead.
  256.  
  257.         
  258.  
  259.  
  260.  
  261.  
  262.